axios.defaults.baseURL = 'http://www.itcbc.com:8000'

//全局配置 请求头
// https://www.axios-http.cn/docs/config_defaults
axios.defaults.headers.common['Authorization'] = localStorage.getItem('token')

//添加响应拦截器

// request.js 中，使用响应拦截器，拦截响应结果进行判断
// 如果响应结果中 code === 1 && message === '身份认证失败' 则表示浏览器使用了无效的token
// 添加响应拦截器
// 3. 添加响应拦截器
axios.interceptors.response.use(
	function (response) {
		// 2xx 范围内的状态码都会触发该函数。
		// 对响应数据做点什么
		// response 相当于 then函数中的 result
		// response.data 表示响应结果
		let { code, message } = response.data
		if (code === 1) {
			toastr.warning(message)
		}
		return response
	},
	function (error) {
		// 超出 2xx 范围的状态码都会触发该函数。
		// 对响应错误做点什么
		// error.response 相当于  result
		if (error.response) {
			// 在得到响应结果的前提之下，再做后续的处理
			let { code, message } = error.response.data
			if (code === 1 && message === '身份认证失败') {
				// 符合这个条件，说明用户使用了假token 或者 过期的token
				localStorage.removeItem('token') // 移除过期的、或者伪造的假token
				location.href = './login.html' // 跳转到登录页
			}
			if (code === 1) {
				toastr.error(message)
			}
		}
		return Promise.reject(error)
	}
)
